package rail

import (
	"sync"
)

// RailCarrierRs 结构体
type RailCarrierRs struct {
	// 铁路运营公司列表
	ModuleList []RailCarrierRs `json:"module_list,omitempty" xml:"module_list>rail_carrier_rs,omitempty"`
	// 是否成功
	Success string `json:"success,omitempty" xml:"success,omitempty"`
	// 错误描述
	ErrMsg string `json:"err_msg,omitempty" xml:"err_msg,omitempty"`
	// 错误码
	ErrCode string `json:"err_code,omitempty" xml:"err_code,omitempty"`
	// 铁路运营公司Code
	Code string `json:"code,omitempty" xml:"code,omitempty"`
	// 铁路运营公司中文名
	CnName string `json:"cn_name,omitempty" xml:"cn_name,omitempty"`
	// 铁路运营公司Logo
	Logo string `json:"logo,omitempty" xml:"logo,omitempty"`
	// 铁路运营公司英文名
	EnName string `json:"en_name,omitempty" xml:"en_name,omitempty"`
	// 关联or归属铁路局编码
	RailWayCode string `json:"rail_way_code,omitempty" xml:"rail_way_code,omitempty"`
}

var poolRailCarrierRs = sync.Pool{
	New: func() any {
		return new(RailCarrierRs)
	},
}

// GetRailCarrierRs() 从对象池中获取RailCarrierRs
func GetRailCarrierRs() *RailCarrierRs {
	return poolRailCarrierRs.Get().(*RailCarrierRs)
}

// ReleaseRailCarrierRs 释放RailCarrierRs
func ReleaseRailCarrierRs(v *RailCarrierRs) {
	v.ModuleList = v.ModuleList[:0]
	v.Success = ""
	v.ErrMsg = ""
	v.ErrCode = ""
	v.Code = ""
	v.CnName = ""
	v.Logo = ""
	v.EnName = ""
	v.RailWayCode = ""
	poolRailCarrierRs.Put(v)
}
